package com.eliza.vertx.library.dataType

import io.vertx.core.buffer.Buffer


//Buffer是Vertx中通用的一种传递数据的方式，所以先来介绍一下它。
class ToBuffer {
    var buffer: Buffer = Buffer.buffer()

    constructor()

    fun creat() {
        //创建空Buffer
        val buffer1 = Buffer.buffer()
        val buffer2 = Buffer.buffer(byteArrayOf(1, 2, 3, 4, 5))
        val buffer3 = Buffer.buffer("abcde")
        val buffer4 = Buffer.buffer("一二三四五", "utf-8")
//创建带初始大小的Buffer
        val buffer5 = Buffer.buffer(1024)
    }

    /**
     * 追加写入（appendXXX）和随机写入（setXXX） Buffer可以自动扩容
     */
    fun writeTo() {
//追加写入方式
        buffer.appendString("1")
//随机写入方式
        buffer.setString(1, "abcde")
    }

    /**
     * 当把Buffer提交到网络套接字等目的地后，Buffer就不能被重用了。
     */
    fun readFrom() {
        println(buffer.length())
        println(buffer.toString())
        //读取数据
//     for (i in 0 until buffer.length()) {
//            println(buffer.getShort(i).toString())
//        }


    }
}